package com.yuqih.common.service.view;

import java.util.List;

public interface IViewService {

	/**
	 * 构建单个模型的视图
	 * 
	 * @param type
	 * @param viewName
	 * @param source
	 * @return
	 */
	<T> Object build(Class<T> type, String viewName,  T source);
	
	/**
	 * 构建模型列表的视图，其结果为单个模型构建视图的列表
	 * 
	 * @param type
	 * @param viewName
	 * @param sourceList
	 * @return
	 */
	<T> List<Object> buildList(Class<T> type, String viewName, List<T> sourceList);
	
	/**
	 * 构建模型列表的视图，应用于其结果不是单个模型构建视图的列表的情况
	 * 
	 * @param type
	 * @param viewName
	 * @param sourceList
	 * @return
	 */
	<T> Object buildTree(Class<T> type, String viewName, List<T> sourceList);
}
